package com.tgky.ybzb.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tgky.ybzb.common.PageParam;
import com.tgky.ybzb.utils.MPUtil;
import com.tgky.ybzb.entity.XdzyWx;
import com.tgky.ybzb.mapper.XdzyWxMapper;
import com.tgky.ybzb.service.IXdzyWxService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * 卫星表 服务实现类
 *
 * @author XYP
 * @since 2024-07-22
 */
@Service
public class XdzyWxServiceImpl extends ServiceImpl<XdzyWxMapper, XdzyWx> implements IXdzyWxService {

    /**
     * 通过实体类获取QueryWrapper
     * @param pageParam 分页参数
     * @param xdzyWx 实体信息
     * @return
     */
    @Override
    public QueryWrapper<XdzyWx> getQueryWrapper(PageParam pageParam, XdzyWx xdzyWx){
        QueryWrapper<XdzyWx> queryWrapper = MPUtil.getQueryWrapper(pageParam);

        if(xdzyWx == null){
            return queryWrapper;
        }

        //主键
        if(xdzyWx.getId() != null){
            queryWrapper.lambda()
                    .eq(XdzyWx::getId, xdzyWx.getId());
            return queryWrapper;
        }

        //TODO 此处可以根据各字段查询需求修改查询条件，eq、like、ge、gt、le、lt、ne...等等等
        queryWrapper.lambda()
                .eq(xdzyWx.getWxbh() != null, XdzyWx::getWxbh, xdzyWx.getWxbh())
                .eq(xdzyWx.getWxbs() != null, XdzyWx::getWxbs, xdzyWx.getWxbs())
                .eq(xdzyWx.getCgqbs() != null, XdzyWx::getCgqbs, xdzyWx.getCgqbs())
                .eq(xdzyWx.getWxgzms() != null, XdzyWx::getWxgzms, xdzyWx.getWxgzms())
                .eq(xdzyWx.getLisj() != null, XdzyWx::getLisj, xdzyWx.getLisj())
                .eq(xdzyWx.getBcz() != null, XdzyWx::getBcz, xdzyWx.getBcz())
                .eq(xdzyWx.getPxl() != null, XdzyWx::getPxl, xdzyWx.getPxl())
                .eq(xdzyWx.getQj() != null, XdzyWx::getQj, xdzyWx.getQj())
                .eq(xdzyWx.getSjdcj() != null, XdzyWx::getSjdcj, xdzyWx.getSjdcj())
                .eq(xdzyWx.getJddfj() != null, XdzyWx::getJddfj, xdzyWx.getJddfj())
                .eq(xdzyWx.getPjdj() != null, XdzyWx::getPjdj, xdzyWx.getPjdj());
        return queryWrapper;
    }
}
